Skip to content

Conversation

samueltardieu
Copy link
Member

@samueltardieu samueltardieu commented Aug 3, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

BoxyUwU and others added 30 commits June 17, 2025 15:02
Disabling loading of pretty printers in the debugger itself is more
reliable. Before this commit the .gdb_debug_scripts section couldn't be
included in dylibs or rlibs as otherwise there is no way to disable the
section anymore without recompiling the entire standard library.
Conceptually `EarlyBinder` does not contain an `Interner` so it shouldn't tell Rust it does via `PhantomData`.
This is necessary for rust-analyzer as it stores `EarlyBinder`s in query results which require `Sync`, placing restrictions on our interner setup.
compiler & tools dependencies:
     Locking 14 packages to latest compatible versions
    Updating clap v4.5.41 -> v4.5.42
    Updating clap_builder v4.5.41 -> v4.5.42
    Updating jsonpath-rust v1.0.3 -> v1.0.4
    Updating libredox v0.1.6 -> v0.1.9
    Updating object v0.37.1 -> v0.37.2
    Updating redox_syscall v0.5.16 -> v0.5.17
    Updating redox_users v0.5.0 -> v0.5.2
    Updating rustc-demangle v0.1.25 -> v0.1.26
    Updating serde_json v1.0.141 -> v1.0.142
    Updating wasm-encoder v0.235.0 -> v0.236.0
    Updating wasmparser v0.235.0 -> v0.236.0
    Updating wast v235.0.0 -> v236.0.0
    Updating wat v1.235.0 -> v1.236.0
    Updating windows-targets v0.53.2 -> v0.53.3
note: pass `--verbose` to see 36 unchanged dependencies behind latest

library dependencies:
     Locking 3 packages to latest compatible versions
    Updating object v0.37.1 -> v0.37.2
    Updating rustc-demangle v0.1.25 -> v0.1.26
    Updating unwinding v0.2.7 -> v0.2.8
note: pass `--verbose` to see 2 unchanged dependencies behind latest

rustbook dependencies:
     Locking 6 packages to latest compatible versions
    Updating cc v1.2.30 -> v1.2.31
    Updating clap v4.5.41 -> v4.5.42
    Updating clap_builder v4.5.41 -> v4.5.42
    Updating redox_syscall v0.5.16 -> v0.5.17
    Updating serde_json v1.0.141 -> v1.0.142
    Updating windows-targets v0.53.2 -> v0.53.3
This method now returns a string instead of printing directly to
(possibly-captured) stdout.
This reduces the amount of "hidden" printing in error-reporting code, which
will be helpful when overhauling compiletest's error handling and output
capture.
Misc cleanups of `generic_arg_infer` related HIR logic

r? ````@nnethercote````
…Noratrieb

Implement `hash_map` macro

Implementation of rust-lang#144032

Implements the `hash_map` macro under `std/src/macros.rs`.
…ter_section, r=jieyouxu

Remove the omit_gdb_pretty_printer_section attribute

Disabling loading of pretty printers in the debugger itself is more reliable. Before this commit the .gdb_debug_scripts section couldn't be included in dylibs or rlibs as otherwise there is no way to disable the section anymore without recompiling the entire standard library.
…iler-errors

Multiple bounds checking elision failures

regression test for rust-lang#120433
compiletest: Preliminary cleanup of `ProcRes` printing/unwinding

While experimenting with changes to how compiletest handles output capture, error reporting, and unwinding, I repeatedly ran in to difficulties with this core code for reporting test failures caused by a subprocess.

There should be no change in compiletest output.

r? jieyouxu
…ler-errors

`Interner` arg to `EarlyBinder` does not affect auto traits

Conceptually `EarlyBinder` does not contain an `Interner` so it shouldn't tell Rust it does via `PhantomData`. This is necessary for rust-analyzer as it stores `EarlyBinder`s in query results which require `Sync`, placing restrictions on our interner setup.

r? compiler-errors
…leLapkin

Update E0562 to account for the new impl trait positions

fixes rust-lang#142683
…ler-errors

Return a struct with named fields from `hash_owner_nodes`

While looking through this code for other reasons, I noticed a nice opportunity to return a struct with named fields instead of a tuple. The first patch also introduces an early-return to flatten the rest of `hash_owner_nodes`.

There are further changes that could potentially be made here (renaming things, `Option<Hashes>` instead of optional fields), but I'm not deeply familiar with this code so I didn't want to disturb the calling code too much.
Updated test links in compiler

Updated test links since a bunch of tests got moved around from the top level recently

r? compiler
Use full flag name in strip command for Darwin

Darwin always uses `rust-objcopy` which supports long-form flags

Solaris unchanged due to not having support for `--discard-all` and only `-x`

fixes rust-lang#135038

r? ````@WaffleLapkin```` (since bot will ping you anyway, feel free to reroll)
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.
r? dep-bumps

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 14 packages to latest compatible versions
    Updating clap v4.5.41 -> v4.5.42
    Updating clap_builder v4.5.41 -> v4.5.42
    Updating jsonpath-rust v1.0.3 -> v1.0.4
    Updating libredox v0.1.6 -> v0.1.9
    Updating object v0.37.1 -> v0.37.2
    Updating redox_syscall v0.5.16 -> v0.5.17
    Updating redox_users v0.5.0 -> v0.5.2
    Updating rustc-demangle v0.1.25 -> v0.1.26
    Updating serde_json v1.0.141 -> v1.0.142
    Updating wasm-encoder v0.235.0 -> v0.236.0
    Updating wasmparser v0.235.0 -> v0.236.0
    Updating wast v235.0.0 -> v236.0.0
    Updating wat v1.235.0 -> v1.236.0
    Updating windows-targets v0.53.2 -> v0.53.3
note: pass `--verbose` to see 36 unchanged dependencies behind latest

library dependencies:
     Locking 3 packages to latest compatible versions
    Updating object v0.37.1 -> v0.37.2
    Updating rustc-demangle v0.1.25 -> v0.1.26
    Updating unwinding v0.2.7 -> v0.2.8
note: pass `--verbose` to see 2 unchanged dependencies behind latest

rustbook dependencies:
     Locking 6 packages to latest compatible versions
    Updating cc v1.2.30 -> v1.2.31
    Updating clap v4.5.41 -> v4.5.42
    Updating clap_builder v4.5.41 -> v4.5.42
    Updating redox_syscall v0.5.16 -> v0.5.17
    Updating serde_json v1.0.141 -> v1.0.142
    Updating windows-targets v0.53.2 -> v0.53.3
```
…mpiler-errors,scottmcm

Forbid tail calling intrinsics

There is only one intrinsic that can be called on stable, as far as I can find, (`transmute`). And in general tail calling intrinsics doesn't make much sense.

Alternative to rust-lang#144815 (and thus closes rust-lang#144815)
Fixes rust-lang#144806

r? ``@scottmcm``
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Aug 3, 2025
@samueltardieu
Copy link
Member Author

@bors r+ p=5 rollup=never

@bors
Copy link
Collaborator

bors commented Aug 3, 2025

📌 Commit 018c172 has been approved by samueltardieu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 3, 2025
@bors
Copy link
Collaborator

bors commented Aug 3, 2025

⌛ Testing commit 018c172 with merge 383b9c4...

@bors
Copy link
Collaborator

bors commented Aug 4, 2025

☀️ Test successful - checks-actions
Approved by: samueltardieu
Pushing 383b9c4 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 4, 2025
@bors bors merged commit 383b9c4 into rust-lang:master Aug 4, 2025
11 checks passed
@rustbot rustbot added this to the 1.91.0 milestone Aug 4, 2025
Copy link
Contributor

github-actions bot commented Aug 4, 2025

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing f34ba77 (parent) -> 383b9c4 (this PR)

Test differences

Show 23 test diffs

Stage 1

  • [codegen] tests/codegen-llvm/bounds-check-elision-slice-min.rs: [missing] -> pass (J1)
  • [ui] tests/ui/explicit-tail-calls/intrinsics.rs: [missing] -> pass (J1)
  • [ui] tests/ui/feature-gates/feature-gate-omit-gdb-pretty-printer-section.rs: pass -> [missing] (J1)

Stage 2

  • [ui] tests/ui/explicit-tail-calls/intrinsics.rs: [missing] -> pass (J0)
  • [ui] tests/ui/feature-gates/feature-gate-omit-gdb-pretty-printer-section.rs: pass -> [missing] (J0)
  • [codegen] tests/codegen-llvm/bounds-check-elision-slice-min.rs: [missing] -> pass (J2)

Additionally, 17 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 383b9c447b61641e1f1a3850253944a897a60827 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-x86_64-apple: 9003.2s -> 17812.7s (97.8%)
  2. x86_64-apple-1: 8155.1s -> 6708.1s (-17.7%)
  3. x86_64-apple-2: 4417.6s -> 3675.3s (-16.8%)
  4. dist-android: 2549.3s -> 2949.2s (15.7%)
  5. tidy: 105.1s -> 119.6s (13.8%)
  6. aarch64-apple: 4905.4s -> 4261.5s (-13.1%)
  7. dist-aarch64-apple: 6727.0s -> 5943.9s (-11.6%)
  8. pr-check-1: 1651.2s -> 1475.1s (-10.7%)
  9. pr-check-2: 2691.9s -> 2408.1s (-10.5%)
  10. x86_64-rust-for-linux: 2875.2s -> 2576.4s (-10.4%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#142678 Misc cleanups of generic_arg_infer related HIR logic 323378114d9460e719d4df941dae56564e19fef8 (link)
#144070 Implement hash_map macro fde85c0fb0ed268b06075bcf321f001e14c0857d (link)
#144738 Remove the omit_gdb_pretty_printer_section attribute 612268666cc131c9e65103baf6675968f0b9ade2 (link)
#144790 Multiple bounds checking elision failures 32c44cc28f87e9238752a223291fcf6c34de9f26 (link)
#144805 compiletest: Preliminary cleanup of ProcRes printing/unwi… b20deb7d0f91d1ee780bde5665563f30c9a21e4a (link)
#144808 Interner arg to EarlyBinder does not affect auto traits 749d4ebcdbb6e550fe529df69f3f1e86fe1a2012 (link)
#144816 Update E0562 to account for the new impl trait positions f7cbe7c3e9daefd9323ad54b8c0f775815912b2c (link)
#144822 Return a struct with named fields from hash_owner_nodes 0db5b7ba40faa8e419c3c9e9c4f1cfd232568b70 (link)
#144824 Updated test links in compiler 8dc8eb6c13366751d4962a15b192c6b0aa15e058 (link)
#144829 Use full flag name in strip command for Darwin 9f9e9c30978b9c4588f88351f5314b9f6044d861 (link)
#144843 Weekly cargo update 845efcf19a4f9ebf25089caabee6d83d6cb2c0e4 (link)
#144851 Forbid tail calling intrinsics d38da94d03232559b0e82790a3e353b857a1199b (link)

previous master: f34ba774c7

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (383b9c4): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.1% [0.1%, 0.1%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.8% [-1.0%, -0.0%] 7
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -2.4%, secondary 2.7%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
4.0% [2.6%, 5.4%] 7
Improvements ✅
(primary)
-2.4% [-2.5%, -2.2%] 2
Improvements ✅
(secondary)
-2.0% [-2.5%, -1.6%] 2
All ❌✅ (primary) -2.4% [-2.5%, -2.2%] 2

Cycles

Results (primary -2.6%, secondary -5.3%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.6% [-2.7%, -2.4%] 2
Improvements ✅
(secondary)
-5.3% [-5.3%, -5.3%] 1
All ❌✅ (primary) -2.6% [-2.7%, -2.4%] 2

Binary size

Results (primary 0.1%, secondary 0.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.2%] 8
Regressions ❌
(secondary)
0.2% [0.1%, 0.2%] 38
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [0.0%, 0.2%] 8

Bootstrap: 467.629s -> 468.859s (0.26%)
Artifact size: 376.97 MiB -> 376.98 MiB (0.00%)

@rustbot rustbot added the perf-regression Performance regression. label Aug 4, 2025
@panstromek
Copy link
Contributor

perf triage:

include-blob regression looks like noise (returning to some baseline state)

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Aug 4, 2025
@samueltardieu samueltardieu deleted the rollup-3ba3m47 branch August 4, 2025 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.